Cameras are commonly used to capture an image of a scene. Most scenes are not illuminated by a 100% pure white illuminant. For example, sunlight at midday is much closer to white than the late afternoon or morning sunlight which includes more yellow. The color of light reflected from an object will vary according to the color of the illuminant that is illuminating the scene. As a result thereof, for example, if the illuminant produces light that includes a lot of yellow, a white object in the scene will not be captured as a white object with a typical film type camera. This is commonly referred to as illuminant color casting because the illuminant causes the color casting.
Recently, some digital cameras include a program that first estimates the color of the illuminant, and subsequently adjusts all of the colors in an input image according to the color of the illuminant. This is commonly referred to as white balance correction. With white balance correction, the digital camera attempts to compensate for variations in the colors in the input image caused by an off-white illuminant, and the actual color of the objects in the scene are more accurately represented in the provided image.
Unfortunately, existing white balance correction programs have not been able to quickly and accurately estimate the correct illuminant in all situations. Further, some white balance correction programs are extremely complex to implement and are computationally expensive.